Revisiting Condition Variables and Transactions

نویسندگان

  • Victor Luchangco
  • Virendra J. Marathe
چکیده

Prior condition synchronization primitives for memory transactions either force waiting transactions to abort (the retry construct), or force them to commit (also called punctuation in the literature). Although these primitives are useful in some settings, they do not enable programmers to conveniently express idioms that require synchronous communication (e.g., n-way rendezvous operations) between transactions. We present xCondition, a new form of condition variable that neither forces transactions to abort, nor to commit. Instead, an xCondition creates dependencies between the waiting and the corresponding notifying transactions such that the waiter can commit only if the corresponding notifier commits. If waiters and notifiers form dependency cycles (for instance, in synchronous communication idioms), they must commit or abort together. The xCondition construct builds on our earlier work on transaction communicators. We describe how to use xConditions in conjunction with communicators to enable effective coordination and communication between concurrent transactions. We illustrate the use of xConditions, and describe their implementation in the Maxine VM.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Condition Variables and Transactional Memory: Problem or Opportunity?

Condition variables complement locks by allowing a program to specify the order of execution. They have been in use, largely unchanged, for three decades and have proved to be a robust and scalable synchronization mechanism. However, most transactional memory (TM) systems provide no complementary mechanism. While new synchronization constructs have been proposed for TM, it seems prudent to supp...

متن کامل

Investigating the Effects of Large Block Transactions and Owner-ship Nature on Non-Financial Disclosure

Having adequate, sufficient and timely information and data is very important for investors' decision making. Processing information and allocating the asset are two fundamental tasks in the securities market and the stock price is more likely to have the nature of disclosure, information effectiveness and asset allocation efficiency. Thus, in this research, the effects of large block transacti...

متن کامل

Correct and Efficient Timestamping of Temporal Data

Previous approaches to timestamping temporal data have implicitly assumed that transactions have no duration. In this paper we identify several situations where a sequence of operations over time within a single transaction can violate ACID properties. It has been previously shown that the transaction-time dimension must be timestamped after commit. This time is not known within the transaction...

متن کامل

The Effectiveness of Macroeconomic Variables on Foreign Exchange Market

This study investigates the effects of  macroeconomic variables and their role in development of foreign exchange market. The foreign exchange market is the mechanism by which a person of firm transfers purchasing power form one country to another, obtains or provides credit for international trade transactions, and minimizes exposure to foreign exchange risk. The foreign exchange transaction i...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011